package com.foo.designpattern.composite.transparentcomposite;

/**
 * com.foo.designpattern.composite.transparentcomposite
 * Created with IntelliJ IDEA.
 * Created by jiang on 2016-05-20 17:38.
 *
 * @Description 树叶构件(Leaf)角色
 * 树叶构件角色：表示树叶构件对象，树叶构件没有子部件。
 */

public class Leaf extends Component {
    // 叶子对象的名字
    private String name;

    /**
     * 构造方法：初始化叶子对象的名称
     *
     * @param name 叶子对象的名称
     */
    public Leaf(String name) {
        this.name = name;
    }

    /**
     * 输出叶子对象的结构，叶子对象没有子对象，也就是输出叶子对象的名字
     *
     * @param preStr 前缀，主要是按照层级拼接的空格，实现向后缩进
     */
    @Override
    public void printStructure(String preStr) {
        System.out.println(preStr + "-" + this.name);
    }
}
